What is hast-util-whitespace?
The `hast-util-whitespace` package is a utility for working with whitespace in HAST (Hypertext Abstract Syntax Tree) nodes. HAST is part of the unifiedjs ecosystem, which is used for processing HTML, Markdown, and similar content. This package provides functionality to check if a node is whitespace, which can be useful in various text processing and manipulation tasks in the context of web content.
What are hast-util-whitespace's main functionalities?
Check if a node is whitespace
This feature allows you to check if a given HAST node is composed entirely of whitespace. The function returns `true` if the node is a whitespace node, and `false` otherwise. This can be particularly useful when manipulating or traversing HAST trees, allowing for the exclusion or special handling of whitespace nodes.
var whitespace = require('hast-util-whitespace');
var node = {type: 'text', value: ' '};
if (whitespace(node)) {
console.log('The node is whitespace.');
} else {
console.log('The node is not whitespace.');
}
Other packages similar to hast-util-whitespace
unist-util-visit
While not exclusively focused on whitespace, `unist-util-visit` is a utility for traversing Unist nodes, which are part of the same ecosystem as HAST nodes. It can be used in conjunction with `hast-util-whitespace` to visit nodes in a HAST tree and perform actions based on whether they are whitespace or not. This package provides broader functionality for node traversal and manipulation.
rehype-minify-whitespace
This package is part of the rehype ecosystem, which is built on top of unified and HAST for HTML processing. `rehype-minify-whitespace` focuses on minimizing whitespace in HTML documents to reduce file size. While it deals with whitespace, its primary goal is optimization rather than the detection or manipulation of whitespace nodes per se, making it a complementary tool for different use cases.
hast-util-whitespace
hast utility to check if a node is inter-element whitespace.
Contents
What is this?
This package is a small utility that checks if a node is whitespace according to
HTML.
When should I use this?
This utility is super niche, if you’re here you probably know what you’re
looking for!
Install
This package is ESM only.
In Node.js (version 14.14+ and 16.0+), install with npm:
npm install hast-util-whitespace
In Deno with esm.sh
:
import {whitespace} from 'https://esm.sh/hast-util-whitespace@2'
In browsers with esm.sh
:
<script type="module">
import {whitespace} from 'https://esm.sh/hast-util-whitespace@2?bundle'
</script>
Use
import {whitespace} from 'hast-util-whitespace'
whitespace({
type: 'element',
tagName: 'div',
children: []
})
whitespace({
type: 'text',
value: '\t \n'
})
whitespace({
type: 'text',
value: ' text\f'
})
API
This package exports the identifier whitespace
.
There is no default export.
whitespace(thing)
Check if the given value is inter-element whitespace.
Parameters
thing
(unknown
, optional)
— thing to check (typically Node
or string
)
Returns
Whether the value
is inter-element whitespace (boolean
): consisting of zero
or more of space, tab (\t
), line feed (\n
), carriage return (\r
), or form
feed (\f
).
If a node is passed it must be a Text
node, whose value
field is
checked.
Types
This package is fully typed with TypeScript.
It exports no additional types.
Compatibility
Projects maintained by the unified collective are compatible with all maintained
versions of Node.js.
As of now, that is Node.js 14.14+ and 16.0+.
Our projects sometimes work with older versions, but this is not guaranteed.
Security
hast-util-whitespace
does not change the syntax tree so there are no openings
for cross-site scripting (XSS) attacks.
Related
Contribute
See contributing.md
in syntax-tree/.github
for
ways to get started.
See support.md
for ways to get help.
This project has a code of conduct.
By interacting with this repository, organization, or community you agree to
abide by its terms.
License
MIT © Titus Wormer